package com.hbnu.array;

import java.util.Scanner;

/**
 * 创建一个长度为 5 的 int 数组，存储一个学生的 5 门课程成绩
 * 从键盘输入这 5 门成绩
 * 计算并输出：总分、平均分（保留 2 位小数）、最高分、最低分、及格科目数量（≥60 分）
 * 改进：此案例可以将总分，最高最低分，筛选及格科目等等这一系列操作放在一个for循环中
 * @author kunge
 * @since 2025-9-7
 */
public class ArrayDemo03 {
    public static void main(String[] args) {
        //1.创建（获取）键盘输入对象
        Scanner scanner = new Scanner(System.in);

        //2.定义一个长度为5的整型数组，用于存储学生成绩
        int[] arr = new int[5];

        System.out.print("请输入5门课程成绩：");

        for (int i = 0; i < arr.length; i++) {
            arr[i] = scanner.nextInt();
        }

        //3.计算总分
        int sum = 0;

        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }

        System.out.println("总分：" + sum);

        //4.计算平均分（保留两位小数,使用 String.format()来进行保留两位小数的操作）
        double avg = sum/5.0;
        System.out.println("平均分：" + String.format("%.2f", avg));

        //5.筛选出最高最低分
        int max = arr[0];
        int min = arr[0];

        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max)
                max = arr[i];
            if (arr[i] < min)
                min = arr[i];
        }

        System.out.println("最高分：" + max);
        System.out.println("最低分：" + min);

        //6.筛选出及格科目数量（>=60分）
        int count = 0;

        for (int i = 0; i < arr.length; i++) {
            if (arr[i] >= 60)
                count++;
        }

        System.out.println("及格科目:" + count + "门");
    }
}
